package com.itheima.d6_jdk8_time;

import java.time.Clock;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Set;

public class Test4_ZoneId_ZonedDateTime {
    public static void main(String[] args) {
        // 目标：了解时区和带时区的时间。
        // 1、ZoneId的常见方法：
        // public static ZoneId systemDefault(): 获取系统默认的时区
        ZoneId zoneId = ZoneId.systemDefault();
        System.out.println("zoneId = " + zoneId);
        ZoneId zoneId1 = ZoneId.systemDefault();//获取当前系统默认时区

        // public static Set<String> getAvailableZoneIds(): 获取Java支持的全部时区Id
        Set<String> availableZoneIds1 = zoneId1.getAvailableZoneIds();//所有时区的集合
        Set<String> availableZoneIds = zoneId.getAvailableZoneIds();
        System.out.println("availableZoneIds = " + availableZoneIds);


        // public static ZoneId of(String zoneId) : 把某个时区id封装成ZoneId对象。
        ZoneId of = ZoneId.of("America/Cuiaba");
        System.out.println(of);

        ZoneId of1 = ZoneId.of("Asia/Shanghai");



        // 2、ZonedDateTime：带时区的时间。
        // public static ZonedDateTime now(ZoneId zone): 获取某个时区的ZonedDateTime对象。
        ZonedDateTime now = ZonedDateTime.now(zoneId);
        System.out.println(now);


        // public static ZonedDateTime now()：获取系统默认时区的ZonedDateTime对象
        ZonedDateTime now1 = ZonedDateTime.now();
        System.out.println(now1);


        //获取日期时间数据自己
        System.out.println("now1.getDayOfMonth() = " + now1.getDayOfMonth());
    }
}
